1. Field of the Invention
The invention relates in general to a flash memory, and more particularly, to a method for managing a multi-level cell (MLC) flash memory.
2. Description of the Related Art
Different from a single-level cell (SLC) flash memory, an MLC flash memory is capable of storing at least two information bits in each storage unit. The term “multi-level” as used here means that each storage unit has more than two voltage values. Although the MLC flash memory is compromised by drawbacks of having shorter lifespan, higher power consumption, and a slower access speed, the MLC is still prevalent in various kinds of storage device because it has a greater capacity per unit cost than that of the SLC flash memory.
The MLC flash memory generally includes several blocks, each of which includes multiple sets of paired pages. Taking a page containing 32 pages as an example, the block possibly contains 16 most significant bit (MSB) pages and 16 least significant bit (LSB) pages. Each MSB page pairs with one LSB page to form a set of storage unit. One of the most critical drawbacks of the MLC flash memory is that, when an unexpected power-off or reset takes place while data are being written into a MSB page, not only data in the MSB page currently being written but also data originally stored in the paired LSB page corresponding to the MSB page are damaged, and vice versa.
Certain solutions for preventing or remedying the above error are available. In one conventional solution, an upper file system restores a file that is not completely written according to a system log. In another conventional solution, a writable region is limited within a single-type page (e.g., only the MSB page or the LSB page) between the paired pages—such approach suffers from a shortcoming of significantly reduced available capacity of a memory. In yet another conventional solution, data originally stored in a paired page B of a page A is duplicated to a backup region when writing data into the page A. Thus, when an error occurs in the write process, the system simply restores the data back to the page B from the backup region.